package mysql

import (
	"fmt"
	"go-0650-blog-grom/settings"
	"go.uber.org/zap"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/logger"
)

var Db *gorm.DB

// Init 初始化MySQL连接
func Init(config *settings.MySQLConfig) (err error) {

	// "user:password@tcp(host:port)/dbname]
	dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?parseTime=true&loc=Local", config.User, config.Password, config.Host, config.Port, config.DB)

	Db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
		Logger: logger.Default.LogMode(logger.Info),
	})

	if err != nil {
		zap.L().Error("连接 MySQL 数据库失败！", zap.Error(err))
	}
	return

}

// Close 关闭MySQL连接
// func Close() {
//		_ = Db.Close()
// }
